Arrays এবং Lists এর উপর LINQ অপারেশন

Microsoft Technologies - লিংক (LinQ) LINQ to Objects |
178
178

LINQ to Objects ব্যবহার করে আপনি Arrays এবং Lists এর উপর বিভিন্ন ধরনের অপারেশন যেমন ফিল্টারিং (Filtering), গ্রুপিং (Grouping), সাজানো (Sorting), অ্যাগ্রিগেশন (Aggregation) ইত্যাদি সহজে করতে পারেন। Arrays এবং Lists হল মেমরি ভিত্তিক কোলেকশন টাইপ, যার মধ্যে ডেটা রাখা হয় এবং LINQ এর মাধ্যমে এই ডেটাগুলোকে একত্রে প্রক্রিয়া করা সম্ভব।


LINQ অপারেশন Arrays এবং Lists এর উপর

LINQ কে ব্যবহার করে Arrays এবং Lists এ থাকা ডেটার সাথে বিভিন্ন অপারেশন করা যায়। এখানে আমরা কিছু সাধারণ LINQ অপারেশন দেখবো যা Arrays এবং Lists এ প্রয়োগ করা যেতে পারে।


Filtering (ফিল্টারিং)

Where() মেথড ব্যবহার করে আপনি শর্ত অনুযায়ী ডেটা ফিল্টার করতে পারেন। এটি নির্দিষ্ট একটি কন্ডিশন সাপেক্ষে ডেটা নির্বাচন করে।

উদাহরণ: Where() মেথড ব্যবহার

// অ্যারে ব্যবহার
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

// Where() ব্যবহার করে even সংখ্যা বের করা
var evenNumbers = numbers.Where(n => n % 2 == 0);

foreach (var number in evenNumbers)
{
    Console.WriteLine(number);  // Output: 2, 4, 6, 8, 10
}

// লিস্ট ব্যবহার
List<int> listNumbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

// Where() ব্যবহার করে odd সংখ্যা বের করা
var oddNumbers = listNumbers.Where(n => n % 2 != 0);

foreach (var number in oddNumbers)
{
    Console.WriteLine(number);  // Output: 1, 3, 5, 7, 9
}

এখানে, Where() মেথডটি অ্যারে এবং লিস্টের মধ্যে শর্ত অনুযায়ী ফিল্টারিং করে দেয়। প্রথম উদাহরণে even numbers এবং দ্বিতীয় উদাহরণে odd numbers নির্বাচন করা হয়েছে।


Projection (ডেটা নির্বাচিত রূপে রূপান্তর)

Select() মেথড ব্যবহার করে আপনি কোলেকশনের উপাদানগুলোকে নির্দিষ্ট রূপে রূপান্তর করতে পারেন। এটি সাধারণত কাস্টম অবজেক্ট তৈরি করতে অথবা ডেটার কোনো নির্দিষ্ট প্রপার্টি নির্বাচন করতে ব্যবহৃত হয়।

উদাহরণ: Select() মেথড ব্যবহার

// অ্যারে ব্যবহার
int[] numbers = { 1, 2, 3, 4, 5 };

// Select() ব্যবহার করে সংখ্যাগুলির বর্গফল বের করা
var squares = numbers.Select(n => n * n);

foreach (var square in squares)
{
    Console.WriteLine(square);  // Output: 1, 4, 9, 16, 25
}

// লিস্ট ব্যবহার
List<int> listNumbers = new List<int> { 1, 2, 3, 4, 5 };

// Select() ব্যবহার করে সংখ্যা থেকে তার দ্বিগুণ বের করা
var doubles = listNumbers.Select(n => n * 2);

foreach (var number in doubles)
{
    Console.WriteLine(number);  // Output: 2, 4, 6, 8, 10
}

এখানে, Select() মেথডের মাধ্যমে সংখ্যাগুলির বর্গফল এবং দ্বিগুণ বের করা হয়েছে।


Sorting (সাজানো)

OrderBy() এবং OrderByDescending() মেথড ব্যবহার করে ডেটাকে বাড়ানো (ascending) বা নামানো (descending) ক্রমে সাজানো যায়।

উদাহরণ: OrderBy() এবং OrderByDescending()

// অ্যারে ব্যবহার
int[] numbers = { 5, 3, 8, 1, 4 };

// Ascending Order (বাড়ানো) এ সাজানো
var sortedAscending = numbers.OrderBy(n => n);

Console.WriteLine("Ascending Order:");
foreach (var number in sortedAscending)
{
    Console.WriteLine(number);  // Output: 1, 3, 4, 5, 8
}

// Descending Order (নামানো) এ সাজানো
var sortedDescending = numbers.OrderByDescending(n => n);

Console.WriteLine("Descending Order:");
foreach (var number in sortedDescending)
{
    Console.WriteLine(number);  // Output: 8, 5, 4, 3, 1
}

// লিস্ট ব্যবহার
List<int> listNumbers = new List<int> { 5, 3, 8, 1, 4 };

// Ascending Order (বাড়ানো) এ সাজানো
var sortedListAscending = listNumbers.OrderBy(n => n);

Console.WriteLine("Sorted List Ascending:");
foreach (var number in sortedListAscending)
{
    Console.WriteLine(number);  // Output: 1, 3, 4, 5, 8
}

এখানে, OrderBy() এবং OrderByDescending() মেথড ব্যবহার করে অ্যারে এবং লিস্টের সংখ্যা সাজানো হয়েছে।


Aggregation (অ্যাগ্রিগেশন)

LINQ তে অ্যাগ্রিগেশন অপারেশনগুলো যেমন Count(), Sum(), Average(), Min(), Max() ব্যবহার করে আপনি কোনো কোলেকশনের উপর গণনা, যোগফল, গড়, সর্বনিম্ন বা সর্বোচ্চ মান বের করতে পারেন।

উদাহরণ: Aggregation মেথড ব্যবহার

// অ্যারে ব্যবহার
int[] numbers = { 1, 2, 3, 4, 5 };

// Count() ব্যবহার করে সংখ্যা গুনে বের করা
int count = numbers.Count();  
Console.WriteLine("Count: " + count);  // Output: 5

// Sum() ব্যবহার করে যোগফল বের করা
int sum = numbers.Sum();
Console.WriteLine("Sum: " + sum);  // Output: 15

// Average() ব্যবহার করে গড় বের করা
double average = numbers.Average();
Console.WriteLine("Average: " + average);  // Output: 3

// Max() এবং Min() ব্যবহার করে সর্বোচ্চ এবং সর্বনিম্ন মান বের করা
int max = numbers.Max();
int min = numbers.Min();
Console.WriteLine("Max: " + max);  // Output: 5
Console.WriteLine("Min: " + min);  // Output: 1

// লিস্ট ব্যবহার
List<int> listNumbers = new List<int> { 10, 20, 30, 40, 50 };

// Sum() ব্যবহার করে যোগফল বের করা
int listSum = listNumbers.Sum();
Console.WriteLine("List Sum: " + listSum);  // Output: 150

এখানে, Count(), Sum(), Average(), Max(), এবং Min() মেথড ব্যবহার করা হয়েছে বিভিন্ন অ্যাগ্রিগেশন অপারেশন করার জন্য।


Grouping (গ্রুপিং)

GroupBy() মেথড ব্যবহার করে আপনি ডেটাকে গ্রুপ করতে পারেন, যেটি গ্রুপড ডেটার উপর অ্যাগ্রিগেশন করতে সুবিধাজনক।

উদাহরণ: GroupBy() মেথড ব্যবহার

List<Person> people = new List<Person>
{
    new Person { Name = "Alice", Age = 25, Department = "HR" },
    new Person { Name = "Bob", Age = 30, Department = "IT" },
    new Person { Name = "Charlie", Age = 35, Department = "HR" },
    new Person { Name = "David", Age = 28, Department = "IT" },
    new Person { Name = "Eve", Age = 22, Department = "Marketing" }
};

// Department অনুযায়ী গ্রুপিং
var groupedByDepartment = people.GroupBy(p => p.Department)
                                .Select(g => new
                                {
                                    Department = g.Key,
                                    Count = g.Count(),
                                    AverageAge = g.Average(p => p.Age)
                                });

foreach (var group in groupedByDepartment)
{
    Console.WriteLine($"Department: {group.Department}, Count: {group.Count}, Average Age: {group.AverageAge}");
}

এখানে, GroupBy() মেথড ব্যবহার করে Department অনুসারে গ্রুপিং করা হয়েছে এবং প্রতিটি বিভাগের সদস্য সংখ্যা এবং গড় বয়স বের করা হয়েছে।


সারাংশ

LINQ to Objects ব্যবহার করে Arrays এবং Lists এর উপরে বিভিন্ন ধরনের অপারেশন করা সম্ভব, যেমন ফিল্টারিং, গ্রুপিং, সাজানো, অ্যাগ্রিগেশন ইত্যাদি। LINQ এর সহজ এবং শক্তিশালী মেথড গুলি ব্যবহার করে ডেটা প্রক্রিয়াকরণ আরও দ্রুত এবং কার্যকরী হয়, বিশেষ করে যখন আপনি in-memory ডেটার সাথে কাজ করেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion